{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 使用 keras 做多分类任务"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 导入数据\n",
    "\n",
    "Reuters dataset 包含一些短新闻以及对应的标签。这些短讯共有 46 个不同的话题，有的话题下包含的短讯多，有的包含的少，也就是说不同类别下样本数量分布不均匀。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from https://s3.amazonaws.com/text-datasets/reuters.npz\n",
      "2113536/2110848 [==============================] - 30s 14us/step\n"
     ]
    }
   ],
   "source": [
    "from keras.datasets import reuters\n",
    "(train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((8982,), (8982,), (2246,), (2246,))"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.shape, train_labels.shape, test_data.shape, test_labels.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1, 2, 2, 8, 43, 10, 447, 5, 25, 207, 270, 5, 3095, 111, 16, 369, 186, 90, 67, 7, 89, 5, 19, 102, 6, 19, 124, 15, 90, 67, 84, 22, 482, 26, 7, 48, 4, 49, 8, 864, 39, 209, 154, 6, 151, 6, 83, 11, 15, 22, 155, 11, 15, 7, 48, 9, 4579, 1005, 504, 6, 258, 6, 272, 11, 15, 22, 134, 44, 11, 15, 16, 8, 197, 1245, 90, 67, 52, 29, 209, 30, 32, 132, 6, 109, 15, 17, 12]\n",
      "3\n"
     ]
    }
   ],
   "source": [
    "print(train_data[0])\n",
    "print(train_labels[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "每条短讯中包含的是一组数字，这组数字是单词在单词表中的索引。可以获取到单词表，解码出短讯的原文。通常在竞赛中，文本数据都是这样给出来的，因为不用解码出原文也可能完成分类等操作，不给出原文也可以包含竞赛组织方的数据安全，因为原文中可能存在敏感信息。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'? ? ? said as a result of its december acquisition of space co it expects earnings per share in 1987 of 1 15 to 1 30 dlrs per share up from 70 cts in 1986 the company said pretax net should rise to nine to 10 mln dlrs from six mln dlrs in 1986 and rental operation revenues to 19 to 22 mln dlrs from 12 5 mln dlrs it said cash flow per share this year should be 2 50 to three dlrs reuter 3'"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "word_index = reuters.get_word_index()\n",
    "reverse_word_index = {value: key for (key, value) in word_index.items()}\n",
    "\n",
    "# Note that the indices were offset by 3\n",
    "# because 0, 1 and 2 are reserved indices for \"padding\", \"start of sequence\", and \"unknown\".\n",
    "newswire_text = ' '.join([reverse_word_index.get(i-3, '?') for i in train_data[0]])\n",
    "newswire_text"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 预处理数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "def vectorize_sequences(sequences, dimension=10000):\n",
    "    results = np.zeros((len(sequences), dimension))\n",
    "    for i, sequence in enumerate(sequences):\n",
    "        results[i, sequence] = 1.\n",
    "    return results\n",
    "    \n",
    "x_train = vectorize_sequences(train_data)\n",
    "x_test = vectorize_sequences(test_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((8982, 10000), (2246, 10000))"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_train.shape, x_test.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对标签做 one-hot 编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def to_one_hot(labels, dim=46):\n",
    "    results = np.zeros((len(labels), dim))\n",
    "    for index, label in enumerate(labels):\n",
    "        results[index, label] = 1\n",
    "    return results\n",
    "\n",
    "y_train = to_one_hot(train_labels)\n",
    "y_test = to_one_hot(test_labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(8982, 46)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这一步也可以使用 keras 内置函数轻松搞定：\n",
    "\n",
    "```python\n",
    "from keras.utils.np_utils import to_categorical\n",
    "\n",
    "y_train = to_categorical(train_labels)\n",
    "y_test = to_categorical(test_labels)\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 构建网络"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "from keras import models, layers\n",
    "\n",
    "model = models.Sequential()\n",
    "model.add(layers.Dense(64, activation='relu', input_shape=(10000,)))\n",
    "model.add(layers.Dense(64, activation='relu'))\n",
    "model.add(layers.Dense(46, activation='softmax'))\n",
    "\n",
    "model.compile(optimizer='rmsprop',\n",
    "              loss='categorical_crossentropy',\n",
    "              metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 训练网络\n",
    "\n",
    "在初次训练的时候，需要加入验证集，以选择更好的模型参数。比如神经网络的隐层数，神经元数据，激活函数等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_val = x_train[:1000]\n",
    "partial_x_train = x_train[1000:]\n",
    "y_val = y_train[:1000]\n",
    "partial_y_train = y_train[1000:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 7982 samples, validate on 1000 samples\n",
      "Epoch 1/20\n",
      "7982/7982 [==============================] - 2s 194us/step - loss: 2.5322 - acc: 0.4955 - val_loss: 1.7208 - val_acc: 0.6120\n",
      "Epoch 2/20\n",
      "7982/7982 [==============================] - 1s 120us/step - loss: 1.4452 - acc: 0.6879 - val_loss: 1.3459 - val_acc: 0.7060\n",
      "Epoch 3/20\n",
      "7982/7982 [==============================] - 1s 117us/step - loss: 1.0953 - acc: 0.7651 - val_loss: 1.1708 - val_acc: 0.7430\n",
      "Epoch 4/20\n",
      "7982/7982 [==============================] - 1s 119us/step - loss: 0.8697 - acc: 0.8165 - val_loss: 1.0793 - val_acc: 0.7590\n",
      "Epoch 5/20\n",
      "7982/7982 [==============================] - 1s 123us/step - loss: 0.7034 - acc: 0.8472 - val_loss: 0.9844 - val_acc: 0.7810\n",
      "Epoch 6/20\n",
      "7982/7982 [==============================] - 1s 120us/step - loss: 0.5667 - acc: 0.8802 - val_loss: 0.9411 - val_acc: 0.8040\n",
      "Epoch 7/20\n",
      "7982/7982 [==============================] - 1s 119us/step - loss: 0.4581 - acc: 0.9048 - val_loss: 0.9083 - val_acc: 0.8020\n",
      "Epoch 8/20\n",
      "7982/7982 [==============================] - 1s 117us/step - loss: 0.3695 - acc: 0.9231 - val_loss: 0.9363 - val_acc: 0.7890\n",
      "Epoch 9/20\n",
      "7982/7982 [==============================] - 1s 118us/step - loss: 0.3032 - acc: 0.9315 - val_loss: 0.8917 - val_acc: 0.8090\n",
      "Epoch 10/20\n",
      "7982/7982 [==============================] - 1s 130us/step - loss: 0.2537 - acc: 0.9414 - val_loss: 0.9071 - val_acc: 0.8110\n",
      "Epoch 11/20\n",
      "7982/7982 [==============================] - 1s 122us/step - loss: 0.2187 - acc: 0.9471 - val_loss: 0.9177 - val_acc: 0.8130\n",
      "Epoch 12/20\n",
      "7982/7982 [==============================] - 1s 118us/step - loss: 0.1873 - acc: 0.9508 - val_loss: 0.9027 - val_acc: 0.8130\n",
      "Epoch 13/20\n",
      "7982/7982 [==============================] - 1s 121us/step - loss: 0.1703 - acc: 0.9521 - val_loss: 0.9323 - val_acc: 0.8110\n",
      "Epoch 14/20\n",
      "7982/7982 [==============================] - 1s 120us/step - loss: 0.1536 - acc: 0.9554 - val_loss: 0.9689 - val_acc: 0.8050\n",
      "Epoch 15/20\n",
      "7982/7982 [==============================] - 1s 122us/step - loss: 0.1390 - acc: 0.9560 - val_loss: 0.9686 - val_acc: 0.8150\n",
      "Epoch 16/20\n",
      "7982/7982 [==============================] - 1s 124us/step - loss: 0.1313 - acc: 0.9560 - val_loss: 1.0220 - val_acc: 0.8060\n",
      "Epoch 17/20\n",
      "7982/7982 [==============================] - 1s 120us/step - loss: 0.1217 - acc: 0.9579 - val_loss: 1.0254 - val_acc: 0.7970\n",
      "Epoch 18/20\n",
      "7982/7982 [==============================] - 1s 118us/step - loss: 0.1198 - acc: 0.9582 - val_loss: 1.0430 - val_acc: 0.8060\n",
      "Epoch 19/20\n",
      "7982/7982 [==============================] - 1s 122us/step - loss: 0.1138 - acc: 0.9597 - val_loss: 1.0955 - val_acc: 0.7970\n",
      "Epoch 20/20\n",
      "7982/7982 [==============================] - 1s 123us/step - loss: 0.1111 - acc: 0.9593 - val_loss: 1.0674 - val_acc: 0.8020\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x7f9b1f7fb470>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(partial_x_train, partial_y_train,\n",
    "          epochs=20, batch_size=512,\n",
    "          validation_data=(x_val, y_val))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对训练结果可视化\n",
    "\n",
    "对训练过程中的 loss 和 acc 进行可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "def plot_history(history):\n",
    "    acc = history.history['acc']\n",
    "    val_acc = history.history['val_acc']\n",
    "    loss = history.history['loss']\n",
    "    val_loss = history.history['val_loss']\n",
    "\n",
    "    epochs = range(1, len(acc) + 1)\n",
    "\n",
    "    plt.figure(figsize=(15,5))\n",
    "\n",
    "    plt.subplot(121)\n",
    "    plt.plot(epochs, loss, 'bo', label='Training loss')\n",
    "    plt.plot(epochs, val_loss, 'g-', label='Validation loss')\n",
    "    plt.title('Training and validation loss')\n",
    "    plt.xlabel('Epochs')\n",
    "    plt.ylabel('Loss')\n",
    "    plt.legend()\n",
    "\n",
    "    plt.subplot(122)\n",
    "    plt.plot(epochs, acc, 'bo', label='Training acc')\n",
    "    plt.plot(epochs, val_acc, 'g-', label='Validation acc')\n",
    "    plt.title('Training and validation accuracy')\n",
    "    plt.xlabel('Epochs')\n",
    "    plt.ylabel('Acc')\n",
    "    plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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4e7uGRkZftJJJ3l2dra7u1erVs3d3VesWOGtWrVyd/cnnnjCBw4c6O7uc+bM8fj4eP/mm2/c3X3Lli3u7p6VleVdu3b1OXPmuLt7UlKSZ2Rk5MaSMz1jxgxv3bq1796923ft2uUtW7b0mTNn+ooVKzw+Pt5nzZrl7u5XXXWVjx49+iefadiwYf7YY4+5u3ubNm38s88+c3f3Bx980AcPHuzu7o0aNfK9e/e6u/u2bdvc3f2iiy7yadOmubv7rl27/MCBAz+pO7/vDJjhpeDYU1Ye+R0jtS9EZ1/YunVrbqwvvvii33PPPe7u/tvf/jZ3X8gpt2nTJm/SpIkvX778kFjzKg3f07Eycw+16R36MAs6MpHYU9TjowZoEZGYd9cHdzF7w+yI1pnaMJWn+jxVaJmc7muXXnopb775Jv/617+A0Em2Bx54gClTphAXF8e6devYuHEjDRs2zLeeKVOm8Otf/xqAlJQUUlJScpe99dZbjBo1iqysLNLT0/nuu+8OWX64adOm8bOf/Yxq1aoBcPnllzN16lQuueQSmjZtSmpqKgCnn346K1euLLCeHTt2sH37drp27QrA9ddfz1VXXZUbY//+/bnsssu47LLLADjnnHO455576N+/P5dffjlNmjQpdNtJdGhf+NGx7gtr167l6quvJj09nf3799O0aVMAPvnkk0O6rR533HGMHTuWLl265JapU6dOodurrIrkwCoiEhnqxikiEiWXXXYZEydOZObMmezZs4f27dsDkJaWRkZGBt9++y2zZ8+mQYMG7N27t9C6zOwn81asWMHjjz/OxIkTmTt3Ln379j1iPaGTgfmrXLly7uv4+HiysrIKrasg48aN4/bbb+fbb7/l9NNPJysriyFDhvDPf/6TPXv20KlTJ77//vujqlvKpljcF+68807uuOMO5s2bxwsvvJC7Pnf/SYz5zStNIjGoCmhgFZHSSC17IhLzjtTqEC3Vq1enW7du3HjjjYcMRrFjxw6OP/54KlasyKRJk1iV36nwPLp06UJaWhrdu3dn/vz5zJ07F4CdO3dSrVo1atWqxcaNG5kwYQLdunUDoEaNGuzatYt69er9pK4bbriBIUOG4O688847jB49utifrVatWhx33HFMnTqVc889l9GjR9O1a1eys7NZs2YN3bt3p3Pnzrz++uvs3r2bLVu20KZNG9q0acOX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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_history(model.history)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出大约在第 9 个 epoch 后开始出现 overfitting，因此可以重新训练网络，这一次使用全部训练数据训练 9 个 epoch。\n",
    "\n",
    "### 重新训练模式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/9\n",
      "8982/8982 [==============================] - 2s 204us/step - loss: 2.6106 - acc: 0.5578\n",
      "Epoch 2/9\n",
      "8982/8982 [==============================] - 1s 127us/step - loss: 1.3228 - acc: 0.7356\n",
      "Epoch 3/9\n",
      "8982/8982 [==============================] - 1s 124us/step - loss: 0.9573 - acc: 0.8009\n",
      "Epoch 4/9\n",
      "8982/8982 [==============================] - 1s 119us/step - loss: 0.7494 - acc: 0.8427\n",
      "Epoch 5/9\n",
      "8982/8982 [==============================] - 1s 129us/step - loss: 0.5909 - acc: 0.8778\n",
      "Epoch 6/9\n",
      "8982/8982 [==============================] - 1s 116us/step - loss: 0.4740 - acc: 0.9017\n",
      "Epoch 7/9\n",
      "8982/8982 [==============================] - 1s 126us/step - loss: 0.3840 - acc: 0.9204\n",
      "Epoch 8/9\n",
      "8982/8982 [==============================] - 1s 122us/step - loss: 0.3137 - acc: 0.9332\n",
      "Epoch 9/9\n",
      "8982/8982 [==============================] - 1s 123us/step - loss: 0.2657 - acc: 0.9397\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x7f999e929c18>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = models.Sequential()\n",
    "model.add(layers.Dense(64, activation='relu', input_shape=(10000,)))\n",
    "model.add(layers.Dense(64, activation='relu'))\n",
    "model.add(layers.Dense(46, activation='softmax'))\n",
    "\n",
    "model.compile(optimizer='rmsprop',\n",
    "              loss='categorical_crossentropy',\n",
    "              metrics=['accuracy'])\n",
    "\n",
    "model.fit(x_train, y_train,\n",
    "          epochs=9, batch_size=512)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 在测试集上评估模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2246/2246 [==============================] - 1s 305us/step\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[0.9764048770826412, 0.7831700801955518]"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.evaluate(x_test, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在测试集上只得到了 78% 的精度，感觉还是有些 overfitting。尝试采用 4, 6, 9 等不同的 epoch，均发现测试集上的准确率低训练集近 10 个百分点。这是怎么回事？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 多分类的另外一种处理方法\n",
    "\n",
    "这里每个样本只会被分到一个类别下，训练的时候标签是一个 one-hot 的向量。keras 提供了另外一种方式，使用损失函数 `sparse_categorical_crossentropy` ，此时标签就可以是单个数字，该数字为样本的实际类别。\n",
    "\n",
    "```python\n",
    "y_train = np.array(train_labels)\n",
    "y_test = np.array(test_labels)\n",
    "\n",
    "model.compile(optimizer='rmsprop', loss='sparse_categorical_crossentropy', metrics=['acc'])\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 更多尝试\n",
    "\n",
    "#### 增加隐层神经元数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 7982 samples, validate on 1000 samples\n",
      "Epoch 1/20\n",
      "7982/7982 [==============================] - 2s 261us/step - loss: 2.2067 - acc: 0.5695 - val_loss: 1.3590 - val_acc: 0.6900\n",
      "Epoch 2/20\n",
      "7982/7982 [==============================] - 1s 146us/step - loss: 1.0885 - acc: 0.7626 - val_loss: 1.1122 - val_acc: 0.7360\n",
      "Epoch 3/20\n",
      "7982/7982 [==============================] - 1s 154us/step - loss: 0.7680 - acc: 0.8348 - val_loss: 0.9630 - val_acc: 0.7990\n",
      "Epoch 4/20\n",
      "7982/7982 [==============================] - 1s 149us/step - loss: 0.5568 - acc: 0.8810 - val_loss: 0.9013 - val_acc: 0.8060\n",
      "Epoch 5/20\n",
      "7982/7982 [==============================] - 1s 155us/step - loss: 0.3990 - acc: 0.9159 - val_loss: 0.8764 - val_acc: 0.8170\n",
      "Epoch 6/20\n",
      "7982/7982 [==============================] - 1s 149us/step - loss: 0.3153 - acc: 0.9344 - val_loss: 0.8823 - val_acc: 0.8170\n",
      "Epoch 7/20\n",
      "7982/7982 [==============================] - 1s 157us/step - loss: 0.2484 - acc: 0.9409 - val_loss: 0.9214 - val_acc: 0.8100\n",
      "Epoch 8/20\n",
      "7982/7982 [==============================] - 1s 153us/step - loss: 0.2085 - acc: 0.9469 - val_loss: 1.0366 - val_acc: 0.7930\n",
      "Epoch 9/20\n",
      "7982/7982 [==============================] - 1s 151us/step - loss: 0.1798 - acc: 0.9516 - val_loss: 0.9084 - val_acc: 0.8100\n",
      "Epoch 10/20\n",
      "7982/7982 [==============================] - 1s 153us/step - loss: 0.1602 - acc: 0.9523 - val_loss: 0.9377 - val_acc: 0.8160\n",
      "Epoch 11/20\n",
      "7982/7982 [==============================] - 1s 152us/step - loss: 0.1447 - acc: 0.9548 - val_loss: 0.9455 - val_acc: 0.8120\n",
      "Epoch 12/20\n",
      "7982/7982 [==============================] - 1s 157us/step - loss: 0.1398 - acc: 0.9570 - val_loss: 0.9949 - val_acc: 0.8180\n",
      "Epoch 13/20\n",
      "7982/7982 [==============================] - 1s 157us/step - loss: 0.1309 - acc: 0.9544 - val_loss: 0.9883 - val_acc: 0.8170\n",
      "Epoch 14/20\n",
      "7982/7982 [==============================] - 1s 158us/step - loss: 0.1271 - acc: 0.9563 - val_loss: 1.0330 - val_acc: 0.8060\n",
      "Epoch 15/20\n",
      "7982/7982 [==============================] - 1s 146us/step - loss: 0.1221 - acc: 0.9565 - val_loss: 1.0255 - val_acc: 0.8000\n",
      "Epoch 16/20\n",
      "7982/7982 [==============================] - 1s 153us/step - loss: 0.1156 - acc: 0.9563 - val_loss: 1.0463 - val_acc: 0.8070\n",
      "Epoch 17/20\n",
      "7982/7982 [==============================] - 1s 145us/step - loss: 0.1115 - acc: 0.9580 - val_loss: 1.0930 - val_acc: 0.7970\n",
      "Epoch 18/20\n",
      "7982/7982 [==============================] - 1s 149us/step - loss: 0.1136 - acc: 0.9567 - val_loss: 1.0450 - val_acc: 0.8090\n",
      "Epoch 19/20\n",
      "7982/7982 [==============================] - 1s 159us/step - loss: 0.1039 - acc: 0.9590 - val_loss: 1.0459 - val_acc: 0.8070\n",
      "Epoch 20/20\n",
      "7982/7982 [==============================] - 1s 157us/step - loss: 0.1029 - acc: 0.9584 - val_loss: 1.1078 - val_acc: 0.7970\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x7f999d9b5588>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = models.Sequential()\n",
    "model.add(layers.Dense(128, activation='relu', input_shape=(10000,)))\n",
    "model.add(layers.Dense(128, activation='relu'))\n",
    "model.add(layers.Dense(46, activation='softmax'))\n",
    "\n",
    "model.compile(optimizer='rmsprop',\n",
    "              loss='categorical_crossentropy',\n",
    "              metrics=['accuracy'])\n",
    "\n",
    "model.fit(partial_x_train, partial_y_train,\n",
    "          epochs=20, batch_size=512,\n",
    "          validation_data=(x_val, y_val))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_history(model.history)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2246/2246 [==============================] - 1s 294us/step\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[1.2103950435947544, 0.786731967996086]"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.evaluate(x_test, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 增加隐层数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 7982 samples, validate on 1000 samples\n",
      "Epoch 1/6\n",
      "7982/7982 [==============================] - 2s 292us/step - loss: 2.3349 - acc: 0.5301 - val_loss: 1.4420 - val_acc: 0.6470\n",
      "Epoch 2/6\n",
      "7982/7982 [==============================] - 1s 158us/step - loss: 1.1731 - acc: 0.7311 - val_loss: 1.2857 - val_acc: 0.7020\n",
      "Epoch 3/6\n",
      "7982/7982 [==============================] - 1s 150us/step - loss: 0.8477 - acc: 0.8078 - val_loss: 0.9970 - val_acc: 0.7890\n",
      "Epoch 4/6\n",
      "7982/7982 [==============================] - 1s 160us/step - loss: 0.6056 - acc: 0.8603 - val_loss: 0.9458 - val_acc: 0.8020\n",
      "Epoch 5/6\n",
      "7982/7982 [==============================] - 1s 150us/step - loss: 0.4522 - acc: 0.9017 - val_loss: 0.9357 - val_acc: 0.8070\n",
      "Epoch 6/6\n",
      "7982/7982 [==============================] - 1s 156us/step - loss: 0.3307 - acc: 0.9260 - val_loss: 0.9870 - val_acc: 0.7960\n"
     ]
    },
    {
     "data": {
      "image/png": "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d/fevXv71KlT3d09KyvLd+7cuc+68/rMgHQvAeedg/0BOgITw6b/AvwlV515QKPQawM2hV4PBJ4Lq/ccMLCg7eV1ftSxEJljYf369Tmx/utf//KbbrrJ3d1vu+22nGNhT71ffvnFGzVq5EuWLNkr1txKwmclUhSaNHEPUsC9f5o0iXZkZUthz5ER7yxGRKSkunHCjcz6eVaRrrNt/bY83uvxAuvsaRJ37rnnMnr0aF588UUguDB3++238/nnnxMXF8fKlStZvXo19evXz3M9n3/+OTfccAMArVu3pnXr1jnzxowZw6hRo8jOziYzM5P58+fvNT+3qVOncv7551O5cmUA+vTpw5QpUzjnnHNo1qwZbdu2BeCEE05g2bJl+a5n48aN/Prrr3Tp0gWASy+9lH79+uXEOGjQIM477zzOO+88ADp16sRNN93EoEGD6NOnD40axcwoQg2Bn8KmM9h7HF2A2cAFwBPA+UBVM6udz7INDyUYHQu/O9RjISMjg/79+5OZmcmOHTto1qwZAJMmTdqrKWzNmjUZP348p5xySk6dWrVqFbi/REq7FSsOrFwiq1iGjxARkd+dd955fPzxx8yYMYOtW7eSnJwMQFpaGmvWrGH69OnMmjWLww47jG3bthW4ruBx7L0tXbqURx55hI8//pg5c+Zw1lln7Xc9wQXEvFWoUCHndXx8PNnZ2QWuKz/vvfce1157LdOnT+eEE04gOzub4cOH8/zzz7N161ZOPPFEvv/++4Nadym07wcXDJsU7hagi5nNBLoAK4HsQi6LmaWaWbqZpa9Zs+ZQ442IsngsXH/99Vx33XXMnTuX5557Lmd77r5PjHmViZRl+XXwr47/o0N3BEUkZu3vbkWkVKlSha5du3LFFVfs1THGxo0bqVevHgkJCUyePJnly5cXuJ5TTjmFtLQ0unXrxnfffcecOXMA2LRpE5UrV6Z69eqsXr2aDz74gK5duwJQtWpVsrKyqFOnzj7ruuyyyxg+fDjuzrhx43jttdcO+L1Vr16dmjVrMmXKFE4++WRee+01unTpwu7du/npp5/o1q0bnTt35o033mDz5s2sW7eOVq1a0apVK7766iu+//57jj322APebimUATQOm24ErAqv4EHv2X0gZyimC9x9o5llAF1zLftp7g24+yhgFEBKSkr+2Q06FnKv61COhY0bN9KwYXCD9pVXXskp79GjB08//XTOM4cbNmygY8eOXHvttSxdupRmzZqxfv163RWUMm3EiOCZwLB+mkhMDMql+OmOoIhIFAwcOJDZs2fndJoCMGjQINLT00lJSSEtLW2/CdE111zD5s2bad26NQ8//DDt2wej7LRp04Z27drRokULrrjiCjp16pSzTGpqKmeccUZOBxl7JCcnc9lll9G+fXs6dOjA0KFDadeu3UG9t1deeYVbb72V1q1bM2vWLO6++2527drF4MGDadWqFe3ateNPf/oTNWrU4PHHH6dly5a0adOGSpUqccYZZxzUNkuhacBRZtbMzMoDA4B3wyuYWR0z23Oe/gvwYuj1RKCHmdUMdRLTI1RWKpW1Y+Hee++lX79+nHzyyXslmXfeeScbNmzI+XufPHkydevWZdSoUfTp04c2bdrQv3//Qm9HpDQaNAhGjYImTcAs+D1qVFAuxc8KagJR2qSkpPj+xg0Skdi2YMECjjvuuGiHIQcgr8/MzKa7e0qUQioSZnYm8DgQD7zo7iPM7H6Ch/zfNbO+BD2FOvA5cK27bw8tewVwe2hVI9z9pYK2ldf5UcdC6aHPSkQORGHPkWoaKiIiEgXu/j7wfq6yu8Nevw3kOVCeu7/I73cIRUREDpiahoqIiIiIiMQYJYIiIiIiIiIxRomgiMScsvRsdFmnzyqytH9LPn1GIhIpSgRFJKZUrFiRdevW6ctVKeDurFu3jooVK0Y7lDJJx0LJp2NARCJJncWISExp1KgRGRkZlNQBtmVvFStWpFGjRtEOo0zSsVA66BgQkUhRIigiMSUhIYFmzZpFOwyRqNOxICIS29Q0VEREREREJMYoERQREREREYkxSgRFRERERERijBJBERERERGRGKNEUEREREREJMYoERQREREREYkxSgRFRERERERijBJBERERERGRGKNEUEREREREJMYoERQREREREYkxEUsEzayxmU02swVmNs/MhuVRx8zsSTNbZGZzzCw5bN6lZvZj6OfSSMUpIiIiIhIJaWnQtCnExQW/09KiHZHI78pFcN3ZwM3uPsPMqgLTzewjd58fVucM4KjQTwfgWaCDmdUC7gFSAA8t+667b4hgvCIiIiIiRSItDVJTYcuWYHr58mAaYNCg6MUlskfE7gi6e6a7zwi9zgIWAA1zVTsXeNUDXwM1zOxwoCfwkbuvDyV/HwG9IhWriIiIiEhRuuOO35PAPbZsCcpFSoJieUbQzJoC7YBvcs1qCPwUNp0RKsuvXERERESkxFux4sDKRYpbxBNBM6sCjAVudPdNuWfnsYgXUJ7X+lPNLN3M0tesWXNowYqIiIiIFIGkpAMrFyluEU0EzSyBIAlMc/f/5FElA2gcNt0IWFVA+T7cfZS7p7h7St26dYsmcBERERGRQzBiBCQm7l2WmBiUi5QEkew11IAXgAXu/o98qr0LXBLqPfREYKO7ZwITgR5mVtPMagI9QmUiIiJlgpn1MrOFoZ6zh+cxPynU+/bMUM/aZ4bKm5rZVjObFfr5v+KPXkT2Z9AgGDUKmjQBs+D3qFHqKEZKjkj2GtoJuBiYa2azQmW3A0kA7v5/wPvAmcAiYAtweWjeejN7AJgWWu5+d18fwVhFRESKjZnFA88ApxO0gpkW6h07vGftO4Ex7v6smR1PcM5sGpq32N3bFmfMInLgBg1S4iclV8QSQXefSt7P+oXXceDafOa9CLwYgdBERESirT2wyN2XAJjZaIKetMMTQQeqhV5XJ59HJERERA5GsfQaKiIiInspTO/Y9wKDzSyD4G7g9WHzmoWajH5mZidHNFIRESmTlAiKiIgUv8L0jj0QeNndGxE8RvGamcUBmUCSu7cDbgLeMLNquZZVr9oiIlIgJYIiIiLFrzC9Yw8BxgC4+1dARaCOu29393Wh8unAYuDo3BtQr9oiIlIQJYIiIiLFbxpwlJk1M7PywACCnrTDrQBOBTCz4wgSwTVmVjfU2QxmdgRwFLCk2CIXEZEyIZK9hoqIiEge3D3bzK4jGBopHnjR3eeZ2f1Auru/C9wM/MvM/kTQbPQyd3czOwW438yygV3A1epZW0REDpQSQRERkShw9/cJOoEJL7s77PV8gqGYci83Fhgb8QBFRKRMU9NQERERERGRGKNEUEREREREJMYoERQREREREYkxSgRFRERERERijBJBERERERGRGKNEUEREREREJMYoERQREREREYkxSgRFRERERERijBJBERERERGRGKNEUEREREREJMYoERQREREREYkxSgRFRERERERijBJBERERERGRGKNEUEREREREJMYoERQREREREYkxSgRFRERERERiTLlIrdjMXgR6A7+4e8s85t8KDAqL4zigrruvN7NlQBawC8h295RIxSkiIiIi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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model = models.Sequential()\n",
    "model.add(layers.Dense(128, activation='relu', input_shape=(10000,)))\n",
    "model.add(layers.Dense(128, activation='relu'))\n",
    "model.add(layers.Dense(128, activation='relu'))\n",
    "model.add(layers.Dense(46, activation='softmax'))\n",
    "\n",
    "model.compile(optimizer='rmsprop',\n",
    "              loss='categorical_crossentropy',\n",
    "              metrics=['accuracy'])\n",
    "\n",
    "model.fit(partial_x_train, partial_y_train,\n",
    "          epochs=6, batch_size=512,\n",
    "          validation_data=(x_val, y_val))\n",
    "\n",
    "plot_history(model.history)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2246/2246 [==============================] - 1s 314us/step\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[1.0689308639094963, 0.7756010685928783]"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.evaluate(x_test, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "增加隐层和隐层的神经元数量，看样子只会加剧过拟合"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
